This invention relates generally to a method for processing telephone calls by a telecommunication application platform having multiple processing nodes and more particularly, to improving platform resource utilization and platform call completion rates.
Many telecommunication application platforms employ a modular architecture having multiple processing nodes to support capacity scalability and high service availability. This permits the application platforms to expand and have the capacity to support additional communication traffic. An example of such a platform is an Enhanced Service Provider""s platform with multiple PC-based telephony servers. The telephony servers generally interface with a public telecommunication network via a network-platform interface such as, for example, an Integrated Services Digital Network (ISDN) Primary Rate Interface (PRI). An example of such a prior art telecommunication application platform in connection with a public telecommunication network can be seen in FIG. 5. Telecommunication as used herein and in the claims means communication by transmission, emission, or reception of signals by, for example, electrical, radio and/or optical means.
FIG. 5 illustrates a plurality of call processing nodes 510 connected to a telecommunication network 502 via a plurality of PRIs 506-1, 506-2 to 506-N (ISDN equivalent of a T-1 line). A single T-1 line is a high capacity communication channel supporting data rates of up to 1.544 megabits per second (Mbps). A PRI actually consists of 24 individual channels, each of which supports data rates of 64 kilobits per second (Kbps). Each 64 Kbps channel can carry voice or data traffic. ISDN PRI may be configured to provide communication channels (i.e., ISDN PRI B-channels or bearer channels) and signaling channels (i.e., ISDN PRI D-channels) to support communications between a telecommunication application platform 501 and telecommunication network 502. The D-channel provides signaling and control in support of the communications channels.
The plurality of ISDN PRIs 506-1, 506-2 to 506-N may be configured with Non-Facility Associated Signaling (NFAS) capabilities. Thus, the plurality of PRIs, for example, PRIs 506-1, 506-2 to 506-N may be included in the ISDN PRI NFAS group 506. While only three PRIs are illustrated, it is to be understood that the NFAS group 506 may include additional PRIs connecting the telecommunication network 502 with application platform 501. Normally, the PRI D-channel, for example, 506-1a can carry signaling information related to the B-channels in the corresponding PRI 506-1. Using NFAS standards, a plurality of PRIs may be supported with a single D-channel. As a result, D-channel 506-1a, for example, can support the signaling for the entire NFAS group 506.
The telecommunication application platform 501 may include the plurality of call processing nodes, for example, 510-1, 510-2 to 510-N. These nodes may be PC based telephony servers connected to the telecommunication network 502 via a plurality of PRIs 506-1, 506-2 to 506-N, respectively. Each node 510-1, 510-2 to 510-N may contain service logic, a node resource manager, and a pool of system resources (not shown). The service logic can reside on a separate server (not shown) located in platform 501. The service logic may be spread out among a plurality of servers (not shown) and/or nodes 510 in the platform 501.
The platform 501 may include one or more nodes apart from the resource nodes that may include one or more other nodes 504 for, for example, Operations, Administration, Maintenance, and Provisioning (OAMandP), service logic and/or D-channel signaling linked to resource nodes 510 by bus/link 505. The platform 501 may not contain a so-called front-end switch to enable the platform itself to distribute calls among the plurality of resource nodes 510.
Using prior art methods, when user 503 tries to access, for example, an 800 service (toll free service in the United States), an ingress communication switch 507 located in the telecommunication network 502 receives the call. The telecommunication network 502 may include a combination of a local, national, international telecommunication networks and/or any other suitable telecommunication networks. The telecommunication network 502 will generally include a variety of communications equipment to handle incoming and out going communication traffic. For example, the network may include a plurality of communication switches (not shown) such as switches manufactured by Lucent Technologies, Inc., Siemens, or Northern Telecom Ltd. or, depending on the 800 services""s choice of the inter-exchange carrier, any other such suitable switches. The telecommunication network may further include, for example, service processors (not shown) to process the communication traffic. The user""s call may traverse a plurality of switches and/or equipment located in the telecommunication network 502 before ending up at, for example, a host switch 513. Host switch 513 can be connected to one or more of the PRIs in the NFAS group 506 servicing the telecommunication application platform 501 of, for example, the desired 800 service. Host switch 513, upon receiving the call, routes the call to the platform 501. As shown in FIG. 5, the 800 service that is desired by the user 503 resides in the platform 501 that is connected to the telecommunication network 502 via a plurality of PRIs 506-1, 506-2 up to 506-N. Thus, the telecommunication application platform 501 serving the 800 service includes a plurality of nodes, for example, nodes 510-1, 510-2 to 510-N. To complete the user""s call, host switch 513 will search for an idle B-channel among the plurality of PRI""s connecting the telecommunication network 502 with the telecommunication application platform 501. If no idle B-channel is currently available to complete the call, the network provides some kind of call treatment on its own, such as dropping the call, routing the call without providing service features, or sending the call to another application platform elsewhere.
If, however, an idle B-channel is found, the host switch 513 may send an ISDN call set-up message to the platform, over a D-channel 506-1a associated with the idle B-channel in PRI 506-1 associated with the NFAS group 506. Upon receiving the ISDN call set-up message from host switch 513, node 510-1, connected to PRI 506-1, determines whether it has sufficient resources to handle the user""s call. A local resource manager (not shown) within the resource node 510-1 receives the call set-up message and makes this determination. The local resource manager of node 510-1 cannot determine the status and/or resource availability of any other resource node in the telecommunication application platform 501. If sufficient system resources are available at node 510-1, that resource node 510-1 will complete the call set-up handshaking with the telecommunication network 502 to accept the call and proceed to process the call. If the local resource manager of node 510-1 determines that sufficient system resources are not available resource 510-1 will reject the call by sending an ISDN release message to the host switch 513. Under current methods, a call will be rejected when the node that is connected to the idle B-channel selected by the network runs out of resources, even if other nodes in the platform may still have available system resources to process the user""s call. Thus, current methods are disadvantageous because they are unable to efficiently allocate resources in order to process calls and serve customers in a more effective manner.
Accordingly, what is required is a method for improving resource utilization and allocation in a telecommunication application platform. Specifically, what is required is a dynamic resource management method for locating sufficient resources among a plurality of processing nodes in the entire telecommunication application platform and completing a user""s call at a resource node having sufficient resources.
It is an object of this invention to overcome the deficiencies of the prior art by providing a method for locating sufficient resources among a plurality of processing nodes in the entire telecommunication application platform and completing a user""s call at a resource node having sufficient resources. Embodiments of the present invention disclose a method for improved platform resource utilization and increased platform call completion rates.
According to one embodiment of the present invention, a method for more effectively handling calls at a telecommunication application platform is disclosed. The application platform typically includes a plurality of nodes including resource nodes for handling incoming calls from users. The platform is connected to a telecommunication network via a plurality of communications channels and at least one active signaling channel for transporting signaling data. A call is received at a host switch located in the telecommunication network. The host switch determines if an idle communication channel is available for communications with the telecommunication application platform. If an idle communication channel is available, the host switch forwards signaling data including an identifier of the idle communication channel to the application platform. A global resource manager (GRM) within the application platform receives data identifying the idle communications channel for completing the user""s call. The GRM determines whether the idle channel node has sufficient resources to complete the call. If sufficient resources are available, the GRM may cause the completion of the call at the idle channel node. If, however, sufficient resources are not available at the idle channel node, the GRM tries to identify an alternative node with sufficient available resources within the same NFAS group. If an alternative node is identified, the GRM causes initiation of channel negotiation procedures with the host switch to redirect the call to an alternative idle communication channel on the alternative node. If the alternative idle channel is acceptable to the host switch, the call may be completed via the alternative idle communication channel.
According to another embodiment of the present invention, a plurality of nodes within the NFAS group of the same D-channel may be connected in a logical ring in the telecommunication application platform. After receiving the call from a user, the telecommunication network may offer the call on an idle communication channel. Upon receiving the signaling data, the idle channel node determines whether it has sufficient resources to complete the call from the user. If it has sufficient resources, the idle channel node will complete the call from the user. If the idle channel node determines that it does not have sufficient resources to complete the call, a resource hunting procedure will be initiated to complete the user""s call. The resource hunting procedure comprises the step of forwarding the signaling data to a logically adjacent node. The adjacent node will determine whether it has sufficient resources and an alternative idle communication channel to complete the call. If it does, the logically adjacent node will initiate channel negotiation procedures with the host switch in the telecommunications network to re-direct the call to the adjacent node. On the other hand, if the logically adjacent node does not have the required resources and the alternative idle communication channel, it will forward the signaling data to the logically adjacent node. This resource hunting procedure may continue until a forwarding limit has been reached.
Accordingly, the present invention overcomes the deficiencies of the prior art by providing a method for improving resource utilization and allocation in a telecommunication application platform with multiple processing nodes. The present invention may improve platform resource utilization and increase platform call completion rates.